#pragma once
#include "c:\users\benji\documents\ia\taquin\taquin\heuristique\iheuristique.h"


typedef map<string, pair<int, int> > invert_tgrid;


class Euclidienne : public IHeuristique {
    Etat final;
    
public:
    Euclidienne();
    Euclidienne(const Etat *_final);
    Euclidienne(const Euclidienne &copie);
    
    virtual const void setCurrent(const Etat *newEtat);
    
    virtual const int calculHeuristique( Etat *etat);

    const int calculGCost(const Etat *parent, Etat *etat);
    const int calculHCost(Etat *etat);
    const int calculHCost(Etat *parent, Etat *etat);

    invert_tgrid exchangeGrid(const tgrid grid);

};